package com.permission.service;

import java.util.List;

import com.permission.beans.PageQuery;
import com.permission.beans.PageResult;
import com.permission.entity.SysAcl;
import com.permission.entity.SysAclModule;
import com.permission.entity.SysDept;
import com.permission.entity.SysLogWithBLOBs;
import com.permission.entity.SysRole;
import com.permission.entity.SysUser;
import com.permission.param.SearchLogParam;

public interface SysLogService {

    public void recover(int id);

    public PageResult<SysLogWithBLOBs> searchPageList(SearchLogParam param, PageQuery page);

    /**
     * 保存部门操作记录
     */
    public void saveDeptLog(SysDept before, SysDept after);

    /**
     * 保存用户操作记录
     */
    public void saveUserLog(SysUser before, SysUser after);

    /**
     * 保存“权限模块”操作记录
     */
    public void saveAclModuleLog(SysAclModule before, SysAclModule after);

    /**
     * 保存权限的操作记录
     * @param before
     * @param after
     */
    public void saveAclLog(SysAcl before, SysAcl after);

    /**
     * 保存角色的操作记录
     * @param before
     * @param after
     */
    public void saveRoleLog(SysRole before, SysRole after);
    
    /**
     * 保存角色权限的操作记录
     * @param before
     * @param after
     */
	public void saveRoleAclLog(Integer roleId, List<Integer> originAclIdList, List<Integer> aclIdList);

	/**
     * 保存角色用户的操作记录
     * @param before
     * @param after
     */
	public void saveRoleUserLog(int roleId, List<Integer> originUserIdList, List<Integer> userIdList);
}
